const app = getApp();

Page({
    data: {
        hasCreatedCard: true, // 初始状态为未创建名片
        hasUserInfo: false, // 默认用户未登录
        userInfo: {
            avatar: '/images/personal/cat.png',
            nickname: 'admin',
            role: '学生',
        }
    },

    // 请求后端获取原有个人信息
    getUserInfo() {
        console.log("getUserInfo");
        console.log(app.globalData.userInfo.id);
        app.wxRequest('GET', 'http://localhost:8080/system/info/' + app.globalData.userInfo.id, null,
            (response) => {
                this.setData({
                    'userInfo.avatar': response.data.data.avatar,
                    'userInfo.nickname': response.data.data.nickname,
                    'userInfo.role': response.data.data.role,
                })
                if (response.data.data.avatar == null) {
                    this.setData({
                        'userInfo.avatar': '/images/personal/cat.png'
                    })
                }
                console.log(this.data.userInfo);
            },
        )
    },

    // 登录成功的弹框并处理跳转
    successLogin() {
        this.setData({
            hasUserInfo: true
        })
        console.log(this.data.hasUserInfo);
        // 使用 setTimeout 延迟 switchTab 的执行，等待 showToast 完成
        setTimeout(() => {
            wx.switchTab({
                url: '/pages/personal/index',
            });
        }, 1000); // 这里的延迟时间应该与 showToast 的 duration 相同或稍长一点以确保提示框完全消失
    },

    // 处理登录
    handleLogin() {
        wx.login({
            success: (response) => {
                app.wxRequest('GET', 'http://localhost:8080/system/info/login?code=' + response.code, '',
                    (response) => {
                        this.getUserInfo();
                        wx.setStorage({ // 将 token 存入缓存
                            'key': 'Authorization',
                            data: response.data,
                            success: function () {
                                console.log('token 已放入缓存');
                                app.globalData.hasCollections = true;
                                app.globalData.hasCards = true;
                                app.globalData.isLoggedIn = true;
                                console.log('After setting hasCollections:', app.globalData.hasCollections); // 打印修改后的值
                                console.log('After setting hasCards:', app.globalData.hasCards); // 打印修改后的值
                                console.log('After setting isLoggedIn:', app.globalData.isLoggedIn); // 打印修改后的值
                            }
                        })
                        this.successLogin() // 登录成功的弹框并跳转
                    })
            }
        })
    },

    // 登出：清除缓存中的 token
    logout() {
        wx.showModal({
            title: '提示',
            content: '确定要退出登录吗？',
            success: (response) => {
                if (response.confirm) {
                    // 清除用户的登录状态和其他敏感信息
                    this.setData({
                        isLoggedIn: false,
                        hasCollections: false,
                        hasCards: false,
                        cards: [],
                    });
                    app.globalData.hasCreatedCard = false

                    // 移除本地存储中的用户信息
                    wx.removeStorageSync('token'); // 假设使用 token 来标识用户
                    console.log("token已从缓存清除");
                    // 导航回登录页面或其他合适的页面
                    wx.reLaunch({
                        url: '/pages/index/index', // 假设这是登录页面的路径
                    });
                }
            }
        });
    },

    shareApp: function () {
        console.log("share")
        wx.showShareMenu({
            withShareTicket: true,
            menus: ['shareAppMessage', 'shareTimeline']
        });
    },

    // 导航到不同页面的方法
    navigateToPage1() {
        wx.navigateTo({
            url: '/pages/updateUser/index' // 替换为实际页面路径
        });
    },

    navigateToPage2() {
        wx.navigateTo({
            url: '/pages/info/index' // 替换为实际页面路径
        });
    },

    navigateToPage3() {
        wx.navigateTo({
            url: '/pages/about/index' // 替换为实际页面路径
        });
    },

});